In a distributed computing environment, certain computers, known as servers, are used primarily to store and supply information. Other computers in the network, known as clients, allow a user to download replicas of the information from the servers.
One of these environments, known as the World Wide Web (or simply, "the Web") is a system for delivering hypertext information across the Internet. Within the Web, a particular type of server, known as a Web server, provides access to information stored in a format known as a Web page. A Web page is a data structure containing a repository of different types of information, and may include text, images, sounds, animations, three dimensional simulations and/or address pointers to other servers where such information can be found. The computer programs that execute on the client computers to interpret and display Web pages are typically referred to as browsers.
Historically, publishers have used a text mark-up language to specify the format of Web pages, the most common example being the well-known Hypertext Markup Language (HTML). A given HTML file may contain a number of items such as graphics, tables, buttons, and other elements to be displayed on the screen, and may also reference other Web pages or portions of Web pages via Universal Resource Locators (URLs). Accordingly, in order to alter the contents or appearance of a Web page, the HTML file itself must be changed. The creation and updating of Web pages can become very expensive, especially where publishers typically must employ professional designers and programmers in order to produce high quality Web pages. This process is becoming increasingly complex with the advent of programming languages that permit a publisher to embed a program within a Web page that specifies certain actions to be taken by the browser at the time the page is displayed.
Fortunately, certain tools have been developed that permit publishers to manage this process effectively. One such tool is a dynamic content authoring tool which is the subject matter of the above referenced co-pending patent application by Krishna, B. C., et al. entitled "Distributed Electronic Publishing System", Ser. No. 08/790,654 filed Jan. 29, 1997, and assigned to FutureTense, Inc., of Acton, Mass., the assignee of the present invention, which is hereby incorporated by reference.
The dynamic content publishing tool described in the patent application is available as a software program called FutureTense.TM. Designer (FutureTense is a trademark from FutureTense, Inc. of Acton, Mass.). FutureTense Designer permits the publisher to first create a template file. The template file specifies how a Web page is to be displayed even if the content is not completely known at the time that the Web page is designed. In particular, the template file consists of a set of objects defined not only by the object content but also by the actions taken on or by such objects. Object content can be defined by storing the formatted content itself, as well as by reference to a location where the content file can be found. In this manner, a Web page author may design the page by establishing a viewing region on the page, providing instructions for obtaining and formatting objects to be displayed in each region, and prescribing a set of actions by which the objects interact with one another.
At the client side, when a user requests access to a Web page which was created by the FutureTense Designer program, the browser program first accesses and runs a program for interpreting the template called FutureTense Viewer. The Viewer program may be implemented in the browser as an applet or plug-in written in Java, C++ or a similar software language. The Viewer program is then activated to locate and interpret the object content and actions contained in the template file. As a result, the Viewer program then causes information to be displayed within each region of the screen in accordance with the instructions in the template file. The Viewer program also executes any actions between objects as required.
The advantage of using such a template tool is that the publisher does not need to know, at the time of designing the page, the exact nature of or the amount of information to be displayed. Specifically, through calls to information sources, the template can be filled automatically with current information, with much reduced human overhead for page-by-page revision and updating.
Furthermore, a set of actions and/or triggers for each action, such as buttons, mouse clicks, scroll down or scroll up controls, timers, etc. may be used to control how information may be displayed in an interactive manner. Also, from a publishing perspective, layout and typography can be controlled at the client by having the content file specify fonts or other text attributes separately from the information itself.
However, this approach to publishing Web pages presently poses certain client-side requirements. In particular, older versions of browsers, such as those that run under the Windows 3.1 operating system, do not provide support for browser-embedded programming languages such as Java or ActiveX. Furthermore, even if a user does have a Viewer-capable browser such as those running under Windows 95, Windows NT, or the Macintosh, such users may not wish to have Viewer programs installed or downloaded to their computer that modify the behavior of their browsers.
Thus, there is a need to provide a way for publishers to view the production of Web pages as a dynamic content process, while at the same time permitting users of browsers located at the client computers to have such dynamic content functionality delivered to them without requiring embedded Viewer programs.